package business;

import java.util.Date;

import dao.DaoGare;
import dao.DaoPassageTrainTheorique;
import dao.DaoUtilisateur;
import externaldata.gare.Gare;
import externaldata.passageTrainTheorique.PassageTrainTheorique;


public class Pari {
	/* ------------------------------------------------------------- ATTRIBUT */
	private int id_pari = 0;
	private int fk_id_utilisateur = 0;
	private int fk_id_passageTrainTheorique = 0;
	private int mise = 0;
	private int retard = 0;
	private Date heurePari = null;
	private int gainPossible = 0;
	private int etat = 0;
	
	
	/* --------------------------------------------------------- CONSTRUCTEUR */
	public Pari() { super(); }

	public Pari(
			int 		id_pari,
			int 		fk_id_utilisateur,
			int 		fk_id_passageTrainTheorique,
			int 		mise,
			int 		retard,
			Date 		heurePari,
			int 		gainPossible,
			int 		etat
	) {
		super();
		this.id_pari = id_pari;
		this.fk_id_utilisateur = fk_id_utilisateur;
		this.fk_id_passageTrainTheorique = fk_id_passageTrainTheorique;
		this.mise = mise;
		this.retard = retard;
		this.heurePari = heurePari;
		this.gainPossible = gainPossible;
		this.etat = etat;
	}


	/* ------------------------------------------------------------ ACCESSEUR */
	public int getId_pari() { return id_pari; }

	public void setId_pari(int id_pari) { this.id_pari = id_pari; }

	public int getFk_id_utilisateur() { return fk_id_utilisateur; }

	public void setFk_id_utilisateur(int fk_id_utilisateur) { this.fk_id_utilisateur = fk_id_utilisateur; }

	public int getFk_id_passageTrainTheorique() { return fk_id_passageTrainTheorique; }

	public void setFk_id_passageTrainTheorique(int fk_id_passageTrain) { this.fk_id_passageTrainTheorique = fk_id_passageTrain; }

	public int getMise() { return mise; }

	public void setMise(int mise) { this.mise = mise; }

	public int getRetard() { return retard; }

	public void setRetard(int retard) { this.retard = retard; }

	public Date getHeurePari() { return heurePari; }

	public void setHeurePari(Date heurePari) { this.heurePari = heurePari; }

	public int getGainPossible() { return gainPossible; }

	public void setGainPossible(int gainPossible) { this.gainPossible = gainPossible; }

	public int getEtat() { return etat; }

	public void setEtat(int etat) { this.etat = etat; }


	/* -------------------------------------------------------------- METHODE */
	public Utilisateur getUtilisateur() {
		return DaoUtilisateur.getUtilisateur(fk_id_utilisateur);
	}

	public PassageTrainTheorique getPassageTrainTheorique() {
		return DaoPassageTrainTheorique.getPassageTrainTheorique(fk_id_passageTrainTheorique);
	}

	public Gare getGarePassage() {
		return DaoGare.getGareFromDua(getPassageTrainTheorique().getGareDua());
	}

	public Gare getGareDestination() {
		return DaoGare.getGareFromUic(getPassageTrainTheorique().getDestinationUic());
	}
}
